/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ClassesUnicas;

import DAO.DAOImagemApresentadaSubFase;
import DAO.MySQL.DAOImagemApresentadaSubFaseMySQL;
import java.nio.file.Path;

/**
 * Imagem
 *
 * Versao 1.0
 *
 * Data Criação 22/07/2013
 *
 * @author Igor
 */
public class Imagem {
    //Atributos
    private long idImagemSusFase;
    private long idRosto;
    private long idExpressao;
    private long intensidade;
    private Path diretorio;
    private int repetiuApresentacao;
    private Integer idExpressaoResposta;
    
    //DAO
    private DAOImagemApresentadaSubFase imagemDAO;

    //Construtores
    public Imagem(){
        this.repetiuApresentacao = 0;
        this.idExpressaoResposta = null;
        this.imagemDAO = new DAOImagemApresentadaSubFaseMySQL();
    }

    //Getters e Setters
    /**
     * @return the idImagemSusFase
     */
    public long getIdImagemSusFase() {
        return idImagemSusFase;
    }

    /**
     * @param idImagemSusFase the idImagemSusFase to set
     */
    public void setIdImagemSusFase(long idImagemSusFase) {
        this.idImagemSusFase = idImagemSusFase;
    }

    /**
     * @return the idRosto
     */
    public long getIdRosto() {
        return idRosto;
    }

    /**
     * @param idRosto the idRosto to set
     */
    public void setIdRosto(long idRosto) {
        this.idRosto = idRosto;
    }

    /**
     * @return the idExpressao
     */
    public long getIdExpressao() {
        return idExpressao;
    }

    /**
     * @param idExpressao the idExpressao to set
     */
    public void setIdExpressao(long idExpressao) {
        this.idExpressao = idExpressao;
    }

    /**
     * @return the intensidade
     */
    public double getIntensidade() {
        return intensidade;
    }

    /**
     * @param intensidade the intensidade to set
     */
    public void setIntensidade(long intensidade) {
        this.intensidade = intensidade;
    }

    /**
     * @return the diretorio
     */
    public Path getDiretorio() {
        return diretorio;
    }

    /**
     * @param diretorio the diretorio to set
     */
    public void setDiretorio(Path diretorio) {
        this.diretorio = diretorio;
    }

    /**
     * @return the repetiuApresentacao
     */
    public Integer getRepetiuApresentacao() {
        return repetiuApresentacao;
    }

    /**
     * @param repetiuApresentacao the repetiuApresentacao to set
     */
    public void setRepetiuApresentacao(Integer repetiuApresentacao) {
        this.repetiuApresentacao = repetiuApresentacao;
    }

    /**
     * @return the idExpressaoResposta
     */
    public Integer getIdExpressaoResposta() {
        return idExpressaoResposta;
    }

    /**
     * 
     * @param expressaoResposta 
     */
    public void setIdExpressaoResposta(Integer expressaoResposta) {
        this.idExpressaoResposta = expressaoResposta;
    }

    /**
     * @return the imagemDAO
     */
    public DAOImagemApresentadaSubFase getImagemDAO() {
        return imagemDAO;
    }

    /**
     * @param imagemDAO the imagemDAO to set
     */
    public void setImagemDAO(DAOImagemApresentadaSubFase imagemDAO) {
        this.imagemDAO = imagemDAO;
    }
    
    //Outros metodos
    public void gravaImagemApresentadaSubFase(long idInstanciaSubFase, long tempoParaAvaliar) throws Exception {
        this.imagemDAO.gravaImagemApresentadaSubFase(idInstanciaSubFase, this, tempoParaAvaliar);
    }
}
